Encryption algorithms may be classified as either private-key or public-key. Private-key encryption refers to an encryption method in which both the sender and receiver share the same key. Public-key encryption may involve two different but related keys. One key may be used for encryption and one for decryption. Many of today's encryption techniques utilize a public-key/private-key pair. Most public-key algorithms, such as Rivest, Shamir, Adelman (RSA) and Diffie-Helman, perform extensive computations of extremely large numbers. Further, these public key protocols may rely on large prime numbers and/or modular inverses that may be computationally intensive to generate. Hardware capable of processing these instructions effectively may be required in order to handle these operations in an efficient manner.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.